﻿using Api.Models;
using LlaansPage.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Api.ViewModels.Page;
using WebMatrix.WebData;
namespace Api.Controllers.Page
{
    [Authorize]
    public class PostController : Controller
    {
    //    LayansContext db = new LayansContext();
    //    LayansContext layans = new LayansContext();
        //
    //    // GET: /Post/
    //    public ActionResult Index()
    //    {
    //        return View();
    //    }

    //    public ActionResult Create(PagePosts pagePosts)
    //    {
    //        var pagePost = new PagePosts
    //        {
    //            Post = Post,
    //            UserName = username,
    //            Avatars = avatar
    //        };
    //        db.PagePostss.Add(pagePost);
    //        db.SaveChanges();

    //        return Redirect("/");
    //    }


    //    public ActionResult ViewPosts(int postId)
    //    {
    //        if(!db.PagePostss.Any(x => x.Id == postId))
    //        {
    //            return Redirect("/");
    //        }

    //        var pagepost = db.PagePostss.Where(x => x.Id == postId)
    //            .Select(x => new FullPagePostViewModel
    //            {
    //                Id = x.Id,
    //                Post = x.Post,
    //                avatar = x.Avatars.avatar,
    //                username = x.UserName.UserName,
    //            }).SingleOrDefault();

    //        pagepost.Answers = db.PagePostAnswerss.Where(x => x.PagePosts.Id == postId)
    //            .Select(y => new PagePostAnswerViewModel 
    //            {
    //                comment = y.Commetns,
    //                CreationTime = y.DateTime,
    //                avatar =  y.avatars.avatar, 
    //                Username =y.UserName.UserName,

    //            });

    //        return View();
    //    }
    //    [ValidateAntiForgeryToken]
    //    public ActionResult Comment(int pagePostId, string comment)
    //    {
    //        var user = db.Author.FirstOrDefault(x => x.UserId == WebSecurity.CurrentUserId);
    //        var pagePost = db.PagePostss.FirstOrDefault(x => x.Id == pagePostId);

    //        db.PagePostAnswerss.Add(
    //            new PagePostAnswers()
    //            {
    //                avatar = avatars,
    //                Commetns = comment,
    //                UserName = username,
    //            });
    //        db.SaveChanges();

    //        return Redirect("/");
    //    }

    //    public ActionResult Like(int id)
    //    {

    //        if (db.PagePicVotes.Any(x => x.Post.Id == id && x.User.UserId == WebSecurity.CurrentUserId))
    //        {
    //            var currentEntry = db.PagePicVotes.SingleOrDefault(x => x.Post.Id == WebSecurity.CurrentUserId);
    //            currentEntry.UpVote = true;
    //            db.SaveChanges();
    //        }

    //        else
    //        {
    //            var user = db.Author.FirstOrDefault(x => x.UserId == WebSecurity.CurrentUserId);
    //            var pagePost = db.PagePostss.FirstOrDefault(x => x.Id == id);
    //            db.PagePostVotes.Add(new PagePostVote()
    //                {
    //                    Post = pagePost,
    //                    User = user,
    //                    UpVote = true,
    //                });
    //            db.SaveChanges();
    //        }

    //        int rating = db.PagePostVotes.Count(y => y.Post.Id == id && y.UpVote);

    //        return Content(rating.ToString());
    //    }

    //    public string Post { get; set; }

    //    public LForum.Models.ExternalLoginConfirmationViewModel username { get; set; }

    //    public Layans.Data.Avatar avatar { get; set; }

    //    public string avatars { get; set; }

    //    public string usernames { get; set; }

    //    public string users { get; set; }
    }
}